package cn.wolfcode.luowowo.article.service;

import cn.wolfcode.luowowo.article.domain.StrategyContent;
import cn.wolfcode.luowowo.article.domain.StrategyDetail;
import cn.wolfcode.luowowo.article.domain.StrategyPersistenceVo;
import cn.wolfcode.luowowo.article.query.StrategyDetailQuery;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 攻略明细服务
 */
public interface IStrategyDetailService {

    /**
     * 分页查询
     * @param qo
     * @return
     */
    PageInfo query(StrategyDetailQuery qo);



    /**
     * 查询所有
     * @return
     */
    List<StrategyDetail> list();



    /**
     * 查单个
     * @param id
     * @return
     */
    StrategyDetail get(Long id);

    /**
     * 查内容
     * @param id
     * @return
     */
    StrategyContent getContent(Long id);


    /**
     * 攻略明显添加与更新
     * @param detail
     * @param tags
     */
    void saveOrUpdate(StrategyDetail detail, String tags);

    /**
     * 攻略点击量前3
     * @param id
     * @return
     */
    List<StrategyDetail> getViewNumTop3(Long id);

    void updateReplyNum(Long id, int replynum);

    List<StrategyDetail> queryViewNumTop3(Long id);

    /**
     * 持久化,redis数据落地
     * @param vo
     */
    void StrategyPersistenceVoUpdate(StrategyPersistenceVo vo);


    /**
     * redis数据持久化
     * @param vo
     */
   // void updateStatisVO(StrategyStatisPersistenceVO vo);
}
